feat: linear interactive wizard command#271
Conversation
…or-url) Shared utilities for integration wizards: - ensureCredentials(): check for existing auth, prompt for API key if missing - askBrowseOrUrl(): common "browse or paste URL" prompt - askForUrl(): URL input with domain validation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Interactive wizard for working with Linear issues: - Auth check (Linear CLI or API key) - Browse teams → projects → issues, or paste a URL - Priority badges in issue selector - Delegates to runCommand() for execution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add linear wizard to CLI as top-level command - Add wizard fallback in run.ts for --from linear without project Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add interactive wizard section to Linear source docs - Add ralph-starter linear to README commands table Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Issue Linking ReminderThis PR doesn't appear to have a linked issue. Consider linking to:
Using If this PR doesn't need an issue, you can ignore this message. |
✔️ Bundle Size Analysis
Bundle breakdown |
| headers: { | ||
| 'Content-Type': 'application/json', | ||
| Authorization: apiKey, | ||
| }, |
Check warning
Code scanning / CodeQL
File data in outbound network request Medium
🔗 Docs PreviewPreview URL: https://feat-linear-integration-wiza.ralph-starter-docs.pages.dev This preview was deployed from the latest commit on this PR. |
Greptile SummaryThis PR introduces an interactive Linear issues wizard ( Key changes:
Issues found:
Confidence Score: 4/5
Sequence DiagramsequenceDiagram
actor User
participant CLI as ralph-starter CLI
participant LinearCmd as linearCommand
participant Shared as shared.ts (ensureCredentials)
participant LinearAPI as Linear GraphQL API
participant RunCmd as runCommand
User->>CLI: ralph-starter linear [options]
CLI->>LinearCmd: linearCommand(options)
LinearCmd->>Shared: ensureCredentials('linear', ...)
alt CLI authenticated
Shared-->>LinearCmd: '__cli_auth__'
LinearCmd->>LinearCmd: getLinearApiKey()
else Credentials in config/env
Shared-->>LinearCmd: apiKey
else No credentials
Shared->>User: Prompt for API key
User-->>Shared: API key input
Shared-->>LinearCmd: saved apiKey
end
LinearCmd->>User: Browse or paste URL?
alt URL mode
User-->>LinearCmd: linear.app/…/issue/TEAM-123
LinearCmd->>LinearCmd: parseLinearUrl(url)
LinearCmd->>RunCmd: runCommand(identifier, {from:'linear', project:teamKey})
else Browse mode
LinearCmd->>LinearAPI: GetTeams query
LinearAPI-->>LinearCmd: teams[]
LinearCmd->>User: Select team
User-->>LinearCmd: selectedTeam
LinearCmd->>User: Project / All issues / Specific ID?
alt Project mode
LinearCmd->>LinearAPI: GetProjects(teamId)
LinearAPI-->>LinearCmd: projects[]
LinearCmd->>User: Select project
end
LinearCmd->>LinearAPI: GetIssues(filter, first:30)
LinearAPI-->>LinearCmd: issues[]
LinearCmd->>User: Select issue
User-->>LinearCmd: selectedIssue
LinearCmd->>RunCmd: runCommand(selectedIssue, {from:'linear', project:teamKey})
end
RunCmd-->>User: Build loop starts
Last reviewed commit: 549bb51 |
- Anchor Linear URL regex patterns with ^https?:// (CodeQL fix) - Change interface to type for plain data structures (Greptile) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
This PR has been automatically marked as stale because it has not had recent activity. |
…zards) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
ralph-starter lineartop-level command for interactive Linear issue selectionsrc/integrations/wizards/shared.tsralph-starter run --from linearis used without--projectChanges
src/commands/linear.ts— Linear wizard with GraphQL team/project/issue fetchingsrc/cli.ts— Registerralph-starter linearcommandsrc/commands/run.ts— Wizard fallback for--from lineardocs/docs/sources/linear.md— Wizard section + examplesREADME.md— Commands table entryTest plan
ralph-starter linearlaunches wizard and completes flowralph-starter run --from linear(no --project) redirects to wizardralph-starter run --from linear --project ENGstill works (existing behavior)linear.app/.../issue/TEAM-123pnpm build— no new errors (pre-existing pixelmatch/sharp errors only)🤖 Generated with Claude Code